Method for Controlling Flash Timing of Extension Flash Module

ABSTRACT

The present invention provides a method for controlling flash timing of an extension flash module cooperating with a mobile device. The method includes: detecting a specific event, wherein a time period from when the specific event occurs to the start of an exposure of the first row of a photo sensor is a constant; determining whether there is one single flashable time period wherein one flash is receivable by every row of the photo sensor; when there is such a single flashable time period, conducting one single flash after a delay time from the specific event; and when there is no such single flashable time period, conducting a first flash after a delay time from the specific event, and conducting a second flash after a delay time from the first flash.

CROSS REFERENCE

The present invention claims priority to TW 103140180, filed on Nov. 19, 2014, TW 104107362, filed on Mar. 9, 2015, and TW 104119387, filed on Jun. 16, 2015. The present invention is a continuation-in-part application of U.S. Ser. No. 14/643,905, filed on Mar. 10, 2015.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates in general to the technology of flash lamp, and more particularly to a method for controlling flash timing of an extension flash module of a mobile device.

2. Description of Related Art

With continuous advance in pixels and quality of digital photography, it has become a trend for mobile devices, such as mobile phones and tablets, to carry the function of taking photos. However, these built-in digital cameras have not been able to perform so well as conventional digital cameras under the circumstances of low lighting or backlighting.

Although some built-in digital cameras also carry a light-emitting diode (LED) supplement lamp, both the battery capacity of mobile devices and the heat dissipation issue of LEDs seriously confine the volume of fill light provided by the LED supplement lamp. When the distance between the object being photographed and the LED supplement lamp exceeds one meter, the LED fill light cannot provide adequate light source to allow pixels of a photo sensor to be properly exposed.

Xenon high-intensity discharge lamps (HIDs) can provide a large amount of supplementary lighting within a short period of time. Therefore, conventional digital cameras usually carry a xenon HID. A charger in a xenon HID converts low-voltage battery power supply into high-voltage power supply and stores it in a high-capacitance high-voltage capacitor. Operating in coordination with a mechanical shutter, the xenon HID is then triggered at a proper timing to convert the electricity stored in the high-voltage capacitor into high-brightness supplementary lighting within a very short period of time so that the pixels of a photo sensor are properly exposed under circumstances of low lighting or backlighting. A xenon HID requires a high-voltage capacitor having a capacitance from dozens to hundreds of μF and able to withstand 300 to 400 volts. In pursuit of lighter, thinner and more compact mobile devices, the very large volume of such a high-voltage capacitor fails to meet the requirements of current mobile devices. Therefore, in order not to increase the volume and weight of existing mobile devices, extension HID flash modules become a feasible and even necessary option.

According to the specifications of the capacitance in high-voltage capacitors and HID lamp tubes, the flash time of HID flash modules lasts from dozens to hundreds of microseconds (ρs). How to flash at the right timing so that all pixels in a photo sensor are evenly exposed is an important issue to be solved for extension HID flash modules to become a feasible option. Mobile devices which carry a photo-taking device normally adopt a complementary metal-oxide semiconductor (CMOS) photo sensor and a rolling shutter instead of a mechanical shutter, as shown in FIG. 1. FIG. 1 is a schematic drawing of a rolling shutter in the conventional art. In FIG. 1, every line represents the time during which a row in the photo sensor performs light-sensing operation. Although the length of exposure for every photo sensor row in a frame is the same, there is a delay between the time when a photo sensor row begins or ends exposure and the time when its preceding photo sensor row begins or ends exposure. During the delay time, the photo-taking device reads the exposure data in the photo sensor row and resets the pixels so as to prepare for the exposure in the next frame. Since photos are taken in different environments and photo-taking devices are also set differently, the exposure time of one photo sensor row is in a wide range, lasting approximately from a few milliseconds to hundreds of milliseconds.

However, in coordination with a rolling shutter, an extension HID flash module usually cannot locate the optimal flash timing and fails to improve the quality of photos.

SUMMARY OF THE INVENTION

From one perspective, the present invention provides a method for controlling flash timing of an extension flash module cooperating with a mobile device to provide supplemental light when the mobile device having an image retrieval device is taking a photo, the image retrieval device including pixels arranged in N rows, wherein N is a positive integer, the method comprising: detecting a specific event, wherein a time period from when the specific event occurs to a start of an exposure of the first row of the image retrieval device is a constant; determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; when there is a single flashable time period wherein one flash is receivable by every row of the image retrieval device, conducting one single flash after a delay time from the specific event; and when there is no such single flashable time period, conducting a first flash after a delay time from the specific event, and conducting a second flash after a delay time from the first flash.

In one embodiment, the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: detecting an intensity of an ambient light; comparing the intensity of the ambient light with a predetermined threshold; when the intensity of the ambient light is lower than the predetermined threshold, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; and when the intensity of the ambient light is higher than the predetermined threshold, determining that there is not one single flashable time period wherein one flash is receivable by every row of the image retrieval device.

In one embodiment the method further comprises: storing different predetermined thresholds corresponding to different types of mobile devices in a storage device in the extension flash module, or setting different predetermined thresholds corresponding to different types of mobile devices in an application program by which the mobile device controls the extension flash module.

In one embodiment the method further comprises: conducting a third flash after a delay time from the second flash.

In one embodiment, the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: detecting an intensity of an ambient light; comparing the intensity of the ambient light with a first predetermined threshold and a second predetermined threshold; when the intensity of the ambient light is lower than the first predetermined threshold, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; when the intensity of the ambient light is higher than the first predetermined threshold and lower than the second predetermined threshold, determining that two flashes are required; and when the intensity of the ambient light is higher than the second predetermined threshold, determining that three or more flashes are required.

In one embodiment the method further comprises: storing different predetermined thresholds corresponding to different types of mobile devices in a storage device in the extension flash module, or setting different predetermined thresholds corresponding to different types of mobile devices in an application program by which the mobile device controls the extension flash module.

In one embodiment, the first flash is receivable by P rows of the image retrieval device and the second flash is receivable by Q rows of the image retrieval device, and the method further comprises: when P+Q<N, conducting a third flash after a delay time from the second flash, wherein P and Q are both positive integers.

In one embodiment, the first row has a common flashable time period with the a^(th) row and any row before the a^(th) row, but does not have a flashable time period with the b^(th) row and any row after the b^(th) row, while the N^(th) row has a common flashable time period with the c^(th) row and any row after the c^(th) row, but does not have a flashable time period with the d^(th) row and any row before the d^(th) row, and the steps of conducting a first flash after a delay time from the specific event, and conducting a second flash after a delay time from the first flash comprise: conducting the first flash before the first row ends exposure and within an exposure time period of the X^(th) row; and conducting the second flash after the N^(th) row begins exposure and within an exposure time period of the Y^(th) row; wherein d≦X≦a, and c≦Y≦b, and wherein a, b, c, d, X, and Y are positive integers.

In one embodiment, the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: conducting a photo-taking testing exposure procedure wherein an exposure of the pixels is made according to an ambient light; comparing the brightnesses of the pixels with a reference value to determine whether there is any row having a brightness lower than the reference value; when there is no row having a brightness lower than the reference value, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; and when there is a row having a brightness lower than the reference value, determining that there is not one single flashable time period wherein one flash is receivable by every row of the image retrieval device.

In one embodiment, the method further comprises: determining a number (P) of rows of pixels having brightnesses higher than the reference value; and comparing the number (P) with a total number (N) of the rows, to determine a number of flashes required for all the rows to receive at least one flash, wherein P and N are positive integers.

From another perspective, the present invention provides a method for controlling flash timing of an extension flash module cooperating with a mobile device to provide supplemental light when the mobile device having an image retrieval device is taking a photo, the image retrieval device including pixels arranged in N rows, wherein N is a positive integer, the method comprising: controlling a timing of a first flash of the extension flash module; and conducting a second flash or more flashes after a delay time from the first flash; whereby all the flashes in combination expose all the rows such that the exposed pixels in combination compose a complete photo.

The objectives, technical details, attribute or parameters, and effects of the present invention will be better understood with regard to the detailed description of the embodiments below, with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing explaining how a rolling shutter operates according to the conventional art.

FIG. 2 is a schematic drawing showing a flashable time period according to an embodiment of the present invention.

FIG. 3 shows the flow chart of a method for taking photos according to a preferred embodiment of the present invention.

FIG. 4 shows the oscillogram of signals from a built-in LED supplement lamp of a mobile device adopting the method for taking photos according to a preferred embodiment of the present invention.

FIG. 5 shows a system block diagram of an extension flash module according to a preferred embodiment of the present invention.

FIG. 6 shows an example wherein more than one flash is required.

FIG. 7 shows a method according to a preferred embodiment of the present invention.

FIG. 8 shows another example wherein more than one flash is required.

FIG. 9 shows another method according to a preferred embodiment of the present invention.

FIG. 10 shows a hardware embodiment according to a preferred embodiment of the present invention.

FIG. 11 shows another method according to a preferred embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will become more fully understood from the detailed description given hereinafter. The drawings as referred to throughout the description of the present invention are for illustration only, but not drawn according to actual scale.

According to the present invention, an extension flash module such as an HID flash module cooperates with a mobile device to provide supplemental light when the mobile device is taking a photo. The mobile device has an image retrieval device such as a photo sensor, and the image retrieval device includes pixels arranged in rows. FIG. 2 is a schematic drawing showing a flashable time period according to an embodiment of the present invention. Referring to FIG. 2, the flashable time period is between (and includes) t1 and t2, because the flash light within this period can be received by every photo sensor row; that is, any time point in this flashable time period is a flashable time. If the flash timing is earlier than t1, the subsequent photo sensor rows are not exposed. If the flash timing is later than t2, the previous rows of the photo sensor are not exposed. However, since a mobile device is capable of multi-tasking and may be concurrently performing other tasks, such other tasks can affect the execution timing of the flash control; as a result, the delay time between the time when a user presses the shutter and the actual flash timing is uncertain, which means that the time from when a user presses the shutter to t1 or t2 is not fixed. Conventionally, there is not a feasible and reliable way to ensure that the flash timing of the extension flash module is stably controlled between t1 and t2, but flashing at an imprecise timing seriously and critically compromises the function of an extension HID flash module. However, the present invention solves this problem. A method for taking photos is provided by the present invention, as shown in FIG. 2, and described below, in which the flash timing of the extension flash module can be stably controlled between t1 and t2.

FIG. 3 shows the flow chart of a method for taking photo according to a preferred embodiment of the present invention. An extension HID flash module is used to supplement light when the mobile device is taking a photo. The method includes the following steps:

Step S300: Start.

Step S301: Detecting a specific event before a flashable time. Referring to FIG. 2, in one embodiment, the image retrieval device equipped in a mobile device adopts a rolling shutter mechanism, in which the photo sensor rows of the image retrieval device are sequentially exposed row by row, and the exposure of a photo sensor row is processed in a form of integration. As shown in FIG. 2, the flashable time of a retrieved specific frame falls between (and includes) t1 and t2. Referring to FIG. 2, t1 and t2 are the time at which the last row begins exposure (integration begins) and the time at which the first row ends exposure (integration ends), respectively. If the flash module flashes during the period between t1 and t2 (the flashable time period), every row can receive the flash light during its exposure.

After a mobile device confirms that a user has pressed the shutter giving a shutter instruction, the mobile device will perform preparation actions, such as performing photometry and focusing, and determine a specific frame to be retrieved and the exposure time of a photo sensor. At and after a certain moment, the flashable time period t1-t2 of the extension flash module becomes known, i.e., it has a fixed relationship, which will no longer be affected by any other task that the mobile device may be performing, with a certain event (referred to as a “specific event” in this specification) that occurs at that certain moment. Based on this, for instance, a designer may predict the time of the specific frame by designing a certain application program or use a signal from a certain hardware to determine the time of the specific frame. That is, when the specific event occurs, the time period from when the specific event occurs to the flashable time is fixed and is a relatively stable and known period. There is a fixed length of time between the occurrence of the specific event and the flashable time. (The flashable time can be any designated time point within the flashable time period.) Therefore, in one aspect, the present invention adopts the time of a specific event as the basis for prediction.

In one embodiment, the prediction of the flashable time and the flash control can be implemented by a mobile device application program (e.g., a mobile phone application program), and for example, the mobile phone application program can retrieve the time at which the first photo sensor row begins exposure (in a specific frame desired to be retrieved) as the specific event. In this example, the fixed length of time is the period from the time at which the first photo sensor row begins exposure to the time at which the last photo sensor row begins exposure. For another example, the specific event can be the time at which the K^(th) photo sensor row (in a specific frame desired to be retrieved) begins exposure. In this example, the fixed length of time is the period from the time at which the K^(th) photo sensor row begins exposure to the time at which the last photo sensor row begins exposure. For another example, the specific event can be the time at which the Kth photo sensor row in the previous M^(th) frame begins exposure. In this example, the fixed length of time is M frame times plus the period from the time at which the Kth photo sensor row begins exposure to the time at which the last photo sensor row begins exposure. For another example, the specific event can be the time at which the K^(th) photo sensor row in the previous M^(th) frame ends exposure. If the K^(th) photo sensor row ends exposure earlier than the time at which the last photo sensor row begins exposure, then in this example, the fixed length of time is M frame times plus the period from the time at which the K^(th) photo sensor row ends exposure to the time at which the last photo sensor row begins exposure. If the Kth photo sensor row ends exposure later than the time at which the last photo sensor row begins exposure, then in this example, the fixed length of time is M−1 frame times plus the period from the time at which the K^(th) photo sensor row ends exposure to the time at which the last photo sensor row begins exposure. In the above examples, the fixed length of time, which corresponds to the period from the specific event to the flashable time, is calculated with reference to the last time point (t2) of the flashable time period. However, equivalently, the fixed length of time can calculated with reference to any time point between (and including) t1 and t2. In the above description, K and M are positive integers.

In another embodiment, the prediction of the flashable time and the flash control can be implemented by referring to a hardware signal. For example, the specific event may be a signal from a built-in LED supplement lamp of the mobile device. FIG. 4 shows the oscillogram of signals from a built-in LED supplement lamp of a mobile device adopting the method for taking photo according to a preferred embodiment of the present invention. Referring to FIG. 4, when the mobile device is taking a photo, the built-in LED supplement lamp lights up for a first time to indicate that the lens is focusing and lights up for a second time to show that an image is being retrieved (sensed). In this example, in the step S301 of the present invention, the specific event may be the event that the LED supplement lamp lights up for the first time or for the second time.

Step S302: Triggering a flash instruction so that the extension flash module flashes during the flashable time period according to a flash delay time and the period from the specific event to the flashable time. “Trigger a flash instruction” in the context of this specification means that the extension flash module starts to execute a flash instruction that it receives or has received. As far as the extension flash module is concerned, a flash delay time td exists between the time at which the extension flash module starts to execute a flash instruction and the time at which the actual flashing of the extension flash module occurs. Therefore, the flash control should take into account, in addition to the period from the specific event to the flashable time, the delay time of the extension flash module itself. That is, because the above-mentioned period from the specific event to the flashable time is a constant and the delay time of the extension flash module is a known value, the method of this embodiment can determine when to trigger the flash instruction according to such constant and known value. For example, if the delay time from the time at which the flash instruction is received by the extension flash module to the time at which the actual flashing of the extension flash module occurs is td (td is calculated with reference to the time at which the flash instruction is received), then the time point for triggering the flash instruction should be between (t1-td) and (t2-td). Or, if the reference initial time point of the delay time td is the time at which the specific event occurs (the delay time td starts being counted at the time when the specific event occurs) and assuming that such time at which the specific event occurs is t0, then the flash timing needs to fulfill the relationship: (t1-t0)<td<(t2-t0). The extension flash module flashes when the delay time td ends. If the delay time td is calculated with reference to a certain other time point which has a time difference from the time at which the specific event occurs, such time difference can be taken into account, depending on the definition of the delay time td (i.e., depending on when to start counting the delay time td).

The above embodiments give examples as to how the flash timing can be controlled when the extension flash module is connected by hardware (e.g. via a universal serial bus (USB), or a headset socket) to the mobile device, in coordination with the internal software of the mobile device to determine the specific event. In another embodiment which is in compliance with the spirit of the present invention, the extension flash module may also be optically coupled to control the flash timing. FIG. 5 shows a system block diagram of an extension flash module adopting the method according to one embodiment of the present invention. Referring to FIG. 5, an extension flash module 50 may be, for example, an extension flash module which is not electrically connected to the mobile device 51 and can even be a separated non-contact module to the mobile device 51. The extension flash module 50 includes an optical sensor circuit 501, a delay circuit 502, a flash lamp drive circuit 503, and an HID lamp 504. When the LEDs in the mobile device 51 light up, such an event is detected by the optical sensor circuit 501 as the specific event and triggers the HID lamp 504 to flash during the flashable time (t1-t2). Typically, the LEDs in the mobile device 51 light up twice (first for focusing and second for flashing), and the specific event can be defined as either one of them.

Please note that optical coupling is only one among many possible ways to embody the present invention; people ordinarily skilled in the art would readily conceive, in light of the teachings of the present invention, that the present invention may also be implemented wirelessly—such as via Wi-Fi, near field communication (NFC) or Bluetooth—or by detecting a sound produced by the shutter of the mobile device. The present invention is not limited to the embodiments described herein.

The above description describes a “fixed length of time” from when a specific event occurs to the flashable time, which is a relatively stable and known time period. However, there can still be insignificant variations or errors caused by unknown sources; therefore even designers themselves cannot guarantee that the “fixed length of time” absolutely does not contain any minor variation. Nevertheless, from the standpoint of practical application, as long as such a variation is within than an acceptable range, a good flashing control can still be achieved. For example, if an error in calculating the “fixed length of time” is smaller than half of the flashable time period, such an error is tolerable and still falls within the scope defined by the present invention.

Please refer to FIG. 6 in comparison with FIG. 2. In most of the cases, there is one flashable time period wherein one flash is receivable by every row of the image retrieval device. However, in certain cases, there may not be one flashable time period wherein one flash is receivable by every row of the image retrieval device, for example when the ambient light is too strong or when a photo is taken opposing to strong light, so that the exposure time of every photo sensor row is short. In the given example shown in FIG. 6, the (N−3)^(th) row begins exposure after the first row ends exposure, so the first row cannot have a common flashable time period with the (N−3)^(th) row and any row after the (N−3)^(th) row. Likely, the second row cannot have a common flashable time period with the (N−2)^(th) row and any row after the (N−2)^(th) row.

According to the present invention, the method for controlling flash timing of an extension flash module preferably further comprises: determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device. If there is not one single flashable time period wherein one flash is receivable by every row of the image retrieval device, then two or more flashes are conducted. In the case of FIG. 6, the extension flash module 50 can detect and find that one flash is not sufficient for every row of the image retrieval device to receive at least one flash, so two or more flashes are conducted.

More specifically, please refer to FIG. 7. In this embodiment, first, an intensity of an ambient light is detected (step S701), and compared with a predetermined threshold (step S702). The “ambient light” is preferably light opposing to the direction that the image retrieval device is facing, so as to determine the requirement of the number of flashes. When the intensity of the ambient light is lower than the predetermined threshold, it means that the exposure time of each photo sensor row is sufficiently long that a common flashable time period can be found to cover all the photo sensor rows, so only one flash is required (step S703). When the intensity of the ambient light is higher than the predetermined threshold, it means that the exposure time of each photo sensor row is so short that a common flashable time period cannot be found to cover all the photo sensor rows, so it requires a second flash after a first flash (step S704).

Referring to FIG. 6, the first row has a common flashable time period with the (N−4)^(th) row (not shown) and any row before the (N−4)^(th) row, but cannot have a common flashable time period with the (N−3)^(th) row and any row after the (N−3) th row. The N^(th) row has a common flashable time period with the 5^(th) row and any row after the 5^(th) row (not shown), but cannot have a common flashable time period with the 4^(th) row and any row before the 4^(th) row. Therefore, two flashes can be conducted at two different timings, wherein the first flash is conducted before the time at which the first row ends exposure and falls within the exposure time period of the X^(th) row, and the second flash is conducted after the time at which the N^(th) row ends exposure and falls within the exposure time period of the Y^(th) row. In the example shown in FIG. 6, 4≦X≦N−4 and 5≦Y≦N−3, that is, the first flash should falls within the exposure time period of the first row (X≦N−4) and the first flash should be able to expose the last row before the time at which the N^(th) row begins exposure (4≦X), while the second flash should falls within the exposure time period of the N^(th) row (5≦Y) and the second flash should be able to expose the first row after the time at which the first row ends exposure (Y≦N−3). In a worse case, two flashes may not be enough for every row of the image retrieval device to receive at least one flash, and possibly three or more flashes are required, such as the example shown in FIG. 8.

In this case, referring to FIG. 9, in this embodiment, first, an intensity of an ambient light is detected (step S801), and compared with a first predetermined threshold (step S802). When the intensity of the ambient light is lower than the first predetermined threshold, it means that only one flash is required for all the photo sensor rows to receive a flash (step S803). When the intensity of the ambient light is higher than the first predetermined threshold, the intensity of an ambient light is compared with a second predetermined threshold (step S804). When the intensity of the ambient light is higher than the first predetermined threshold but lower than the second predetermined threshold, it means that two flashes are enough for every row to receive at least one flash (step S805). When the intensity of the ambient light is higher than the second predetermined threshold, it means that two flashes are not enough for every row to receive at least one flash, so three flashes are required (step S806). In the above description, the second predetermined threshold is higher than the first predetermined threshold.

Likely, whether four or more flashes are required can be determined by setting corresponding thresholds, following the above logic.

When conducting two or more flashes, it is possible that certain photo sensor rows are exposed more than once. For example, the first flash may cover the first to the j^(th) row while the second flash may cover the (j-n)^(th) row to the k^(th) row (wherein j, k and n are positive integers and n<j<k). This is acceptable. In addition, when two or more flashes are conducted, these flashes do not necessarily have to fall within the same frame. For example, the first flash can be conducted in a previous frame to cover a portion of the photo sensor rows and the second flash can be conducted in a later frame to cover another portion of the photo sensor rows, and the exposed photo sensor rows in combination compose one complete photo.

Please refer to FIG. 6 and FIG. 8. Whether two flashes are enough to cover all the photo sensor rows, can be determined as thus. The first flash must be conducted before the first row ends exposure, while the second flash must be conducted after the N^(th) (last) row begins exposure. Assuming that the first flash can cover at most P rows (i.e., before the first row ends exposure, the latest row having begun exposure is the P^(th) row), and the second flash can cover at most Q rows (i.e., after the N^(th) row begins exposure, the first row to end exposure is the (N−Q−1)^(th) row), then, when P+Q<N, it means that at least three flashes are required, wherein P, Q and N are positive integers, P<N and Q<N. In the example shown in FIG. 8, P=4 and Q=4 (if all the photo sensor rows require the same exposure time period, then normally P=Q), so if N>8, then two flashes are not enough for every row to receive at least one flash and at least three flashes are required. Whether three flashes are enough to cover all the photo sensor rows, can be determined similarly: assuming that the first flash can cover at most P rows, the second flash can cover at most Q rows, and the third flash can cover at most R rows, then, when when P+Q+R<N, it means that at least four flashes are required, wherein P, Q, R and N are positive integers, P<N, Q<N and R<N.

The exposure time period of a photo sensor row changes according to the intensity of the ambient light, and the amount of change may be different from one mobile device of one manufacturer to another mobile device of a different manufacturer. However, in order to achieve a common goal which is an optimum photo-taking performance, different mobile devices of different manufacturers have similar amount of changes. Therefore, according to the present invention, although the extension flash module 50 is an external component to the mobile device, the above-mentioned predetermined threshold (or first and second predetermined thresholds) can be set in advance, and such parameters for example can be stored in the extension flash module 50 or an application program in the mobile device for controlling the extension flash module 50.

In another embodiment, to more accurately obtain optimum parameters in correspondence to mobile devices of different manufacturers, the extension flash module 50 can obtain related information from the mobile device. For example, referring to FIG. 10, different predetermined thresholds (or first and second predetermined thresholds) corresponding to mobile devices of different manufacturers can be pre-stored in a storage device (such as memory 505) of the extension flash module 50. To take a photo, a processor 506 in the extension flash module 50 communicates with the mobile device to obtain a model type or an attribute of the mobile device, and referring to the corresponding predetermined threshold (or first and second predetermined thresholds) stored in the storage device to determine the required number of flashes.

It is described in the above that “the intensity of the ambient light is compared to a predetermined threshold”, so it is required to obtain information about the ambient light. The extension flash module 50 can obtain such information from the mobile device, or, an ambient light sensor can be installed in the extension flash module 50, to obtain such information.

In another embodiment, referring to FIG. 11, when the predetermined threshold (or first and second predetermined thresholds) corresponding to some types of mobile devices are unknown, the number of flashes can be determined through a checking process. In this embodiment, first, a photo-taking testing procedure can be taken, for example but not limited to, when a mobile device is equipped with an extension flash module and it is prepared to take a first photo, or at any other suitable moment (step S901). In this photo-taking testing procedure, the image retrieval device (such as a photo sensor) in the mobile device exposes a frame, and the extension flash module flashes, according to the ambient light at the photo-taking moment (step S902). Next, the exposed frame is checked, by comparing the brightnesses of the pixels with a reference threshold (step S903), to determine whether there is a row having a brightness lower than the reference threshold (step S904). When none of the rows have a brightness lower than the reference threshold, then it is determined that only one flash is enough (step S905). When there is one row having a brightness lower than the reference threshold, then the number (P) of rows having brightnesses higher than the reference threshold is obtained and compared with the total row number (N) (step S906 and step S907). If 1<(N/P)<2, then the flash times should be 2; If 2<(N/P)<3, then the flash times should be 3, etc. In this way, an optimum number of flash times can be obtained (step S908).

In light of the above, the spirit of the present invention is to use a specific event as a reference time point; the time at which the specific event occurs is relatively fixed and known compared to the flashable time. Meanwhile, the delay time of the flash module is also taken into account, such that the extension flash module is triggered at a proper timing and flashes during the flashable time period. In addition, when one flash is not enough to cover all the photo sensor rows, multiple flashes can be conducted. Therefore, with the method for taking photos provided by the present invention, pixels are properly exposed under a low lighting or backlighting environment, whereby the quality of photos taken by the mobile device is enhanced.

In another embodiment, the first flash of the multiple flashes does not necessarily have to be conducted by counting a delay time from the above-mentioned specific event, but can be an initial flash time arbitrarily determined by the extension flash module or the mobile device. After this first flash, during taking one same photo, the second flash or more flashes can be conducted according to the present invention. For example, although the initial flash is arbitrarily determined by the extension flash module or the mobile device, it can be determined according to the above-mentioned principle as to whether this initial flash is able to cover all the photo sensor rows, and if not, one or more flashes can be conducted for the same photo. For another example, even if one single flash is enough for every photo sensor row to receive a flash, when it is not certain when a good flash timing is, multiple flashes can be conducted.

While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention should not be limited to the specific construction and arrangement shown and described, since various other modifications may occur to those ordinarily skilled in the art. For example, in the method embodiments, the sequence of certain steps are interchangeable, or these steps can be performed in parallel (such as the steps S802 and S804). Thus, it will be apparent that various changes and modifications can be made without departing from the spirit and scope of the invention as defined in the appended claims. 

What is claimed is:
 1. A method for controlling flash timing of an extension flash module cooperating with a mobile device to provide supplemental light when the mobile device having an image retrieval device is taking a photo, the image retrieval device including pixels arranged in N rows, wherein N is a positive integer, the method comprising: detecting a specific event, wherein a time period from when the specific event occurs to a start of an exposure of the first row of the image retrieval device is a constant; determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; when there is a single flashable time period wherein one flash is receivable by every row of the image retrieval device, conducting one single flash after a delay time from the specific event; and when there is no such single flashable time period, conducting a first flash after a delay time from the specific event, and conducting a second flash after a delay time from the first flash.
 2. The method of claim 1, wherein the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: detecting an intensity of an ambient light; comparing the intensity of the ambient light with a predetermined threshold; when the intensity of the ambient light is lower than the predetermined threshold, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; and when the intensity of the ambient light is higher than the predetermined threshold, determining that there is not one single flashable time period wherein one flash is receivable by every row of the image retrieval device.
 3. The method of claim 2, further comprising: storing different predetermined thresholds corresponding to different types of mobile devices in a storage device in the extension flash module, or setting different predetermined thresholds corresponding to different types of mobile devices in an application program by which the mobile device controls the extension flash module.
 4. The method of claim 1, further comprising: conducting a third flash after a delay time from the second flash.
 5. The method of claim 1, wherein the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: detecting an intensity of an ambient light; comparing the intensity of the ambient light with a first predetermined threshold and a second predetermined threshold; when the intensity of the ambient light is lower than the first predetermined threshold, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; when the intensity of the ambient light is higher than the first predetermined threshold and lower than the second predetermined threshold, determining that two flashes are required; and when the intensity of the ambient light is higher than the second predetermined threshold, determining that three or more flashes are required.
 6. The method of claim 5, further comprising: storing different predetermined thresholds corresponding to different types of mobile devices in a storage device in the extension flash module, or setting different predetermined thresholds corresponding to different types of mobile devices in an application program by which the mobile device controls the extension flash module.
 7. The method of claim 1, wherein the first flash is receivable by P rows of the image retrieval device and the second flash is receivable by Q rows of the image retrieval device, and the method further comprising: when P+Q<N, conducting a third flash after a delay time from the second flash, wherein P and Q are both positive integers.
 8. The method of claim 1, wherein the first row has a common flashable time period with the a^(th) row and any row before the a^(th) row, but does not have a flashable time period with the b^(th) row and any row after the b^(th) row, while the N^(th) row has a common flashable time period with the c^(th) row and any row after the c^(th) row, but does not have a flashable time period with the d^(th) row and any row before the d^(th) row, and the steps of conducting a first flash after a delay time from the specific event, and conducting a second flash after a delay time from the first flash comprise: conducting the first flash before the first row ends exposure and within an exposure time period of the X^(th) row; and conducting the second flash after the N^(th) row begins exposure and within an exposure time period of the Y^(th) row; wherein d≦X≦a, and c≦Y≦b, and wherein a, b, c, d, X, and Y are positive integers.
 9. The method of claim 1, wherein the step of determining whether there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device, includes: conducting a photo-taking testing exposure procedure wherein an exposure of the pixels is made according to an ambient light; comparing the brightnesses of the pixels with a reference value to determine whether there is any row having a brightness lower than the reference value; when there is no row having a brightness lower than the reference value, determining that there is one single flashable time period wherein one flash is receivable by every row of the image retrieval device; and when there is a row having a brightness lower than the reference value, determining that there is not one single flashable time period wherein one flash is receivable by every row of the image retrieval device.
 10. The method of claim 9, further comprising: determining a number (P) of rows of pixels having brightnesses higher than the reference value; and comparing the number (P) with a total number (N) of the rows, to determine a number of flashes required for all the rows to receive at least one flash; wherein P and N are positive integers.
 11. A method for controlling flash timing of an extension flash module cooperating with a mobile device to provide supplemental light when the mobile device having an image retrieval device is taking a photo, the image retrieval device including pixels arranged in N rows, wherein N is a positive integer, the method comprising: controlling a timing of a first flash of the extension flash module; and conducting a second flash or more flashes after a delay time from the first flash; whereby all the flashes in combination expose all the rows such that the exposed pixels in combination compose a complete photo. 